<?php
/**
 * @author 		: Federico Mart�n Cano <canofedericomartin@gmail.com>
 * @copyright 	: 12-12-2011
 * @todo 		: Mecanismo de carga
 * @version 	: 2.0
 */

/**
 * Proceso:
 * 	1. incluye fichero 'enviroment' global
 * 	2. verifica si existe modelo, en tal caso lo carga y crea el objeto.
 * 	3. evalua si esta tratando de entrar en una secci�n y si esta existe (a futuro: evaluar si tiene permiso)
 * 	4. si vino secci�n: carga su enviroment
 * 	5. verifica si esta tratando de entrar en una acci�n y si existe
 * 	7. si vino acci�n: carga su behaviour.
 * 	8. verifica si existe el controlador, y si tiene permiso del behaviour, en tal caso lo carga
 * 	9. verifica si tiene permiso para selecionar la vista [ya que puede haber sido asinagada previamente por el behaviour/controller]
 * 	10. luego verifica si existe un 'select_view' local del modulo, en tal caso lo carga, sino carga el 'select_view' del core por defecto.
 * 	11. en caso de no intentado entrar a una acci�n pero si a una secci�n, entonces carga el behaviour de la seccion [donde se carga la vista por defecto, que generalmente es un list].
 *  12. En caso de que no haya entra a una secci�n trae la vista de bienvenida, con el loadMode = 1, para que haga echo.
 * 	13.	Carga todos los css y js correspondientes.
 */

	include ('enviroment.php');
	if (existeModelo()) {
		include ('modules/' . $glb_section . '/models/' . $glb_section . '.model.php');
		$object = new $glb_section;
	}
	
	// Layout
	load_js('plugins/jquery/jquery-1.7.1.min.js');
	load_js('plugins/jquery/jquery-numeric/jquery.numeric.js');
	load_css_js();
	
	if (isset($glb_section) && access_existeSeccion($glb_section)) {
		include ('modules/' . $glb_section . '/enviroment.php');
		if (isset($glb_action) && access_existeAccionEnSeccion($glb_action, $glb_section)) {
			include ('modules/' . $glb_section . '/behaviours.php');
			if (file_exists('modules/' . $glb_section . '/actions/' . $glb_action . '/controller.php')) {
				if ($glb_behaviourPermissionController)
					include ('modules/' . $glb_section . '/actions/' . $glb_action . '/controller.php');
			}
			if ($glb_controllerPermissionSelectView) {
				if (file_exists('modules/' . $glb_section . '/select_view.php'))
					include ('modules/' . $glb_section . '/select_view.php');
				else
					include ('select_view.php');
			}
		} else {
			$glb_actionDontCome = true;
			include ('modules/' . $glb_section . '/behaviours.php');
		}
	} else {
		$glb_loadMode = 1;
		$glb_view = file_get_contents('modules/status/view/welcome.html');
	}
?>